# [2, 30, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
"""
    将列表中的字符串"1"变成数字101
    将列表lis中的"tt"变成大写
    将列表中的数字3变成字符串"100"
"""
# lst = [2, 30, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# lst[3][2][1][0] = lst[3][2][1][0].upper()
# lst[3][2][1][1] = "100"
# print(lst)

# li = [1, 3, 2, "a", 4, "b", 5,"c"]
"""
    通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
    通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
    通过对li列表的切片形成新的列表l3,l3 = [1,2,4,5]
    通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
    通过对li列表的切片形成新的列表l5,l5 = ["c"]
    通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
"""
# li = [1, 3, 2, "a", 4, "b", 5,"c"]
# l1 = li[:3]
# l2 = li[3:6]
# l3 = li[::2]
# l4 = li[1:6:2]
# l5 = li[-1]
# l6 = li[-3::-2]


# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
"""
    计算列表的长度并输出  len
    列表中追加元素"seven",并输出添加后的列表
    请在列表的第1个位置插入元素"Tony",并输出添加后的列表
    请修改列表第2个位置的元素为"Kelly",并输出修改后的列表  li[1] = "kelly"
    请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中，一行代码实现，不允许循环添加。
    请将字符串s = "qwert"的每一个元素添加到列表li中，一行代码实现，不允许循环添加。
    请删除列表中的元素"ritian",并输出添加后的列表  remove
    请删除列表中的第2个元素，并输出删除的元素和删除元素后的列表 
    请删除列表中的第2至4个元素，并输出删除元素后的列表
"""
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# li.append("seven")
# li.insert(0, 'Tony')
# li.extend([1,"a",3,4,"heart"])
# li.extend("qwert")
# print(li)
# el = li.pop(1)
# print(el)
# print(li)
# li[1:4] = []  # 不推荐
# del li[1:4]
# print(li)

# 请将列表中的每个元素通过 "_" 链接起来。['李少奇','李启航','渣渣辉']  join
# 请将元组 v1 = (11,22,33) 中的所有元素追加到列表 v2 = [44,55,66] 中。 extend
# 请将元组 v1 = (11,22,33,44,55,66,77,88,99) 中的所有偶数索引位置的元素 追加到列表 v2 = [44,55,66] 中。 extend + 切片 v1[::2]
# v1 = (11,22,33,44,55,66,77,88,99)
# v2 = [44, 55, 66]
# v2.extend(v1[::2])
# print(v2)

# 将字典的键和值分别追加到 key_list 和 value_list 两个列表中，如：
"""
    key_list = []
    value_list = []
    info = {'k1':'v1','k2':'v2','k3':'v3'}
    key_list.extend(info.keys())
    value_list.extend(info.values())
"""
# key_list = []
# value_list = []
# info = {'k1':'v1','k2':'v2','k3':'v3'}
# key_list.extend(info.keys())
# value_list.extend(info.values())
# print(key_list)
# print(value_list)
#
# key_list = list(info.keys())

# info = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
"""
    输出所有的key  keys
    输出所有的value  values
    输出所有的key和value  items
    字典中添加一个键值对，"k4": "v4"，输出添加后的字典  info['k4'] = "v4"
    修改字典中 "k1" 对应的值为 "alex"，输出修改后的字典  info['k1'] = "alex"
    在k3对应的值中追加一个元素 44，输出修改后的字典 info['k3'].append(44)
    在k3对应的值的第 1 个位置插入个元素 18，输出修改后的字典  info['k3'].insert(0, 18)
"""

#
"""
hero = {
 "法师":{
 "小法": ["约德尔人","自认为很邪恶"],
 "火男": ["AOE伤害","消耗强"],
 "安妮": ["小熊","幼女魔法师"],
 "光辉": ["强控","远程大招"]
 },
 "战士":{
 "赵信":["一点寒芒先到，随后枪出如龙", "the Seneschal of Demacia"]
 },
 "射手":{
 "金克斯":["哒哒哒哒哒","究极死神飞弹"]
 }
}

    给此 ["约德尔人","自认为很邪恶"]列表第二个位置插入一个 元素：'如果我俩角色互换，我会让你看看什么叫作残忍'。 hero["法师"]["小法"].insert(1, "")
    将此["强控","远程大招"]列表的 "远程大招" 删除。 
    将此["一点寒芒先到，随后枪出如龙", "the Seneschal of Demacia"]列表的 "the Seneschal of Demacia"全部变成大写。
    给 '射手' 对应的字典添加一个键值对 '女枪' :['哈哈哈哈哈']
    删除这个键值对："安妮": ["小熊","幼女魔法师"] del
    给此["哒哒哒哒哒","究极死神飞弹"]列表的第一个元素，加上一句话：'疯子' insert
"""
hero = {
 "法师":{
     "小法": ["约德尔人","自认为很邪恶"],
     "火男": ["AOE伤害","消耗强"],
     "安妮": ["小熊","幼女魔法师"],
     "光辉": ["强控","远程大招"]
 },
 "战士":{
    "赵信":["一点寒芒先到，随后枪出如龙", "the Seneschal of Demacia"]
 },
 "射手":{
    "金克斯":["哒哒哒哒哒","究极死神飞弹"]
 }
}
hero["法师"]["光辉"].remove("远程大招")
hero["战士"]["赵信"][1] = hero["战士"]["赵信"][1].upper()
hero["射手"]["女枪"] = ['哈哈哈哈哈']
print(hero)


# 有字符串"k: 1|k1:2|k2:3 |k3 :4" 处理成字典 {'k':1,'k1':2....}
i = "k: 1|k1:2|k2:3 |k3 :4"
lst = i.split("|")
dic = {}
dic[
    lst[0].split(":")[0].strip()
] = lst[0].split(":")[1].strip()
dic[
    lst[1].split(":")[0].strip()
] = lst[1].split(":")[1].strip()
print(dic)


# info = {'name':'王刚蛋','hobby':'铁锤','age':'18'}
"""
    请用代码验证 "name" 是否在字典的键中
    请用代码验证 "alex" 是否在字典的值中
    print("name" in info.keys())
    print("alex" in info.values())
"""

# 有如下：v1 = {'武沛齐','李杰','太白','景女神'}， v2 = {'李杰','景女神}
"""
    请得到 v1 和 v2 的交集并输出
    请得到 v1 和 v2 的并集并输出
    请得到 v1 和 v2 的 差集并输出
    请得到 v2 和 v1 的 差集并输出
"""

# 判断以下值那个能做字典的key ？那个能做集合的元素？
"""
    1
    -1
    ""
    None
    [1,2]
    (1,)
    {11,22,33,4}
    {'name':'wupeiq','age':18}
"""

# 按照需求为列表[1, 3, 6, 7, 9, 8, 5, 4, 2]排序
"""
    从大到小排序 sort(reverse=True)
    反转l1列表 [::-1]  .reverse
"""

# l1 = [11, 22, 33, 44, 55]，请把索引为奇数对应的元素删除，不能一个一个删除
l1 = [11, 22, 33, 44, 55]
l1 = l1[::2]
print(l1)